package com.wuxuan.algorithm_homework.string;

import org.junit.jupiter.api.Test;

/**
 * 字符串计算进位系列
 *
 * 表列符号
 * 给定一个字符串，表示Excel表格中的列名称，返回相对应的序号。其中：
 * A -> 1
 * B -> 2
 * ...
 * Z -> 26
 * AA -> 27
 */
public class ConvertString {

    public int convertString(String s) {
        if (s == null || s.length() == 0) {
            return 0;
        }
        int result = 0;
        int weight = 1;
        for(int i = s.length() - 1; i >= 0; i--) {
            result += weight * (s.charAt(i) - 'A' + 1);
            weight *= 26;
        }

        return result;
    }

    @Test
    public void testConvertString() {

        System.out.println(convertString("C"));
        System.out.println(convertString("Z"));
        System.out.println(convertString("AA"));
    }
}
